Array.sort()

Доступность

Flash Player 5; возможности метода расширены в Flash Player 7.

Синтаксис

my_array.sort() : Array
my_array.sort(compareFunction:Function) : Array
my_array.sort(option:Number | option |... ) : Array
my_array.sort(compareFunction:Function, option:Number | option |... ) : Array

Параметры

compareFunction Произвольная сравнивающая функция, определяющая порядок сортировки элементов в массиве. Для элементов А и B, результат compareFunction может иметь одно из следующих значений :

option Одно /или несколько/ чисел или имён определённых констант, с оператором | (побитовое ИЛИ) , изменяющие сортировку, относительно, применяемой по умолчанию. Следующие значения возможны для option :

Для дополнительной информации об этом параметре, смотрите Array.sortOn().

Примечание: Array.sort() определён в ECMA-262, но опции сортировки массива, введённые в Flash Player 7, являются особенностью Flash и расширением спецификации ECMA-262.

Возвращает

Возвращаемое значение зависит от того, какие параметры Вы передаёте :

Описание

Метод; сортирует элементы в массиве. Сортировка во Флэш производится, согласно Unicode-кодов символов. (ASCII поддерживает Unicode).

По умолчанию, Array.sort() работает, как показано в следующем списке :

Если Вы хотите произвести сортировку иначе, создайте сортирующую функцию и передайте её имя параметру compareFunction. Вы могли бы сделать это, например, если хотите сортировать имена в алфавитном порядке, а почтовый индекс по убыванию.

Если Вы хотите произвести сортировку по умолчанию, или с параметрами options , используйте Array.sortOn().

Пример

Синтаксис 1: Пример использования Array.sort(), с /и без/, переданных значений для option :

var fruits_array:Array = new Array("oranges", "apples", "strawberries", "pineapples", "cherries");
trace(fruits_array);  // выводится oranges,apples,strawberries,pineapples,cherries
fruits_array.sort();
trace(fruits_array);  // выводится apples,cherries,oranges,pineapples,strawberries
fruits_array.sort(Array.DESCENDING);
trace(fruits_array);  // выводится strawberries,pineapples,oranges,cherries,apples

Синтаксис 2: В следующем примере используется Array.sort() со сравнительной функцией :

var passwords_array:Array = new Array("mom:glam", "ana:ring", "jay:mag", "anne:home", "regina:silly");
function order(a, b):Number {
  //Элементы, которые сортируются по имени :паролю
  //При сортировке используется только часть имени элемента, как ключ.
  var name1:String = a.split(":")[0];
  var name2:String = b.split(":")[0];
  if (name1<name2) {
    return -1;
  } else if (name1>name2) {
    return 1;
  } else {
    return 0;
  }
}
trace("Unsorted:");
//выводится Unsorted:
trace(passwords_array);
//выводится mom:glam,ana:ring,jay:mag,anne:home,regina:silly
passwords_array.sort(order);
trace("Sorted:");
//выводится Sorted:
trace(passwords_array);
//выводится ana:ring,anne:home,jay:mag,mom:glam,regina:silly

См.также

| (побитовое ИЛИ), Array.sortOn()